#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;        
bool check(int x, vector<bool>& flag) {
    while(x) 
    {
        int t = x % 10;
        if(t == 0) {
            return false;
        }
        if(flag[t]) {
            return false;
        }
        flag[t] = true;
        x /= 10;
    }
    return true;
}
int main() {
    int a, b, c;
    cin >> a >> b >> c;
    int gcd_ab = __gcd(a, b);     // 先求前两个的GCD
    int gcd_abc = __gcd(gcd_ab, c);
    a /= gcd_abc;
    b /= gcd_abc;
    c /= gcd_abc;
    int k = 0;
    for(int i = 1; i < 1000; i++) {
        vector<bool> flag(9, false);
        if(a * i < 1000 && a * i > 100 && b * i < 1000 && b * i > 100 && c * i < 1000 && c * i > 100 && check(a * i, flag) && check(b * i, flag) && check(c * i, flag)) {
            cout << a * i << " " << b * i << " " << c * i << endl;
            k = 1;
        }
    }
    if(!k) {
        cout << "No!!!";
    }
    return 0;
}